16.10 Die Anzeige eines Quickinfo-Texts
 
Die meisten Benutzeroberflächen benutzen Quickinfos, um dem Anwender zur Laufzeit in einem kleinen Fenster einen kurzen erläuternden Text anzuzeigen, wenn sich die Maus über ein bestimmtes Steuerelement bewegt. Diese Fähigkeit ist im Steuerelement ToolTip enthalten. Wie alle anderen Steuerelemente, kann es mittels Drag & Drop auf den Forms-Designer gezogen werden. Allerdings werden Sie eine neue Erfahrung machen, denn das Steuerelement zeichnet sich nicht in das Entwurfsformular. Stattdessen öffnet sich unterhalb des Windows Forms-Designers ein weiteres Fenster in der Entwicklungsumgebung – das Komponentenfach. In diesem werden alle Steuerelemente, die zur Laufzeit keine visuelle Präsentation haben, angeordnet. Das ToolTip-Steuerelement ist das erste dieser Art, das Sie kennen lernen. Es werden noch viele weitere folgen.
In der Version 1.0/1.1 des .NET Frameworks war dieses Steuerelement noch ziemlich mager mit Eigenschaften ausgestattet. Das hat sich in der neuen Version 2.0 drastisch geändert. Sie haben nun sehr viele gestalterische Möglichkeiten, um Einfluss auf die Darstellung des Quickinfo-Textes auszuüben.
16.10.1 Methoden des »ToolTip«-Steuerelements
 
Um Steuerelemente mit einem QuickInfo-Text auszustatten, wird mindestens eine ToolTip-Instanz pro Form benötigt. Das ToolTip-Steuerelement kann anschließend für jede andere sichtbare Komponente in der Form eingesetzt werden.
Elementar geht es darum, dem Anwender schnelle Zusatzinformationen bereitzustellen. Sobald Sie Ihrer Form ein ToolTip-Steuerelement hinzugefügt haben, wird jede Komponente im Eigenschaftsfenster um eine Eigenschaft ergänzt. Angenommen, das ToolTip-Steuerelement heißt toolTip1, würde der Eintrag lauten:
ToolTip on toolTip1
In der Wertespalte tragen Sie anschließend den Text ein, der für das entsprechende Steuerelement angezeigt werden soll. Soll der Text mehrzeilig sein, öffnen Sie über die Pfeilschaltfläche nur ein kleines Zusatzfensterchen (siehe Abbildung 16.14). Sie können das ToolTip-Steuerelement auch mittels Programmcode zur Laufzeit einem anderen Steuerelement zuordnen. Dazu rufen Sie die Methode SetToolTip auf und übergeben dem ersten Parameter den Bezeichner des zuzuordnenden Steuerelements, dem zweiten Parameter den anzuzeigenden Text, z.B.:
| tooltip1.SetToolTip(textBox1, "Geben Sie Ihren Namen ein");
|
 Hier klicken, um das Bild zu vergrößern
Abbildung 16.14 Der Eigenschaft »ToolTip« einen Text zuweisen
Eigentlich ist das bereits alles. Fährt der Anwender zur Laufzeit mit dem Mauszeiger über das Steuerelement, hier eine Textbox, wird der Text in einem kleinen rechteckigen Kästchen mit hellgelben Hintergrund für eine bestimmte Zeitspanne angezeigt.
Aber es gibt noch die eben erwähnten Neuerungen. Möchten Sie vielleicht kein rechteckiges Kästchen, sondern bevorzugen vielmehr einen Ballon? Kein Problem, stellen Sie die Eigenschaft IsBalloon=true ein. Vielleicht sollte auch noch ein kleines Symbol den QuickInfo-Text zieren? Ebenfalls kein Problem, denn die Eigenschaft ToolTipIcon gestattet Ihnen immerhin die Auswahl zwischen None, Info, Warning und Error. Über ToolTipTitle können Sie darüber hinaus sogar einen Titel einblenden, der neben dem Symbol fett geschrieben wird. UseAnimation und UseFading beeinflussen das Ein- und Ausblenden des Informationstextes. Beide stehen per Vorgabe auf true. Sollten Ihnen die vom System vorgegebenen Standardfarben für den Hintergrund und die Schrift nicht zusagen, können Sie nun auch noch mit BackColor und ForeColor eine eigene Auswahl treffen.
Damit ist aber immer noch nicht die Spitze erreicht. Sie können sogar mittels der Eigenschaft OwnerDraw Ihren gestalterischen Trieben völlig freien Lauf lassen – wenn Sie dazu genug Zeit entbehren können.
 Hier klicken, um das Bild zu vergrößern
Abbildung 16.15 QuickInfo-Text als Ballon mit Symbol und Titel
16.10.2 Aktivierungsdauer des »QuickInfo«-Steuerelements
 
QuickInfo-Texte sind Ihnen sicherlich schon sehr häufig begegnet. Es dürfte Ihnen dabei aufgefallen sein, dass zwischen dem Positionieren des Mauszeigers auf einem Steuerelement und der Anzeige des Textes eine kleine Zeitspanne vergeht. Diese beträgt standardmäßig 0,5 Sekunden. Nach fünf Sekunden (das ist die Voreinstellung) wird die Anzeige automatisch ausgeblendet – vorausgesetzt, der Mauszeiger bewegt sich in dieser Zeit nicht. Dieses Verhalten wird von insgesamt vier Eigenschaften bestimmt.
InitialDelay ist die Verzögerung in Millisekunden, die bis zum Aufruf des QuickInfo-Textes verstreicht, AutoPopDelay die maximale Anzeigedauer, ebenfalls in Millisekunden. Bewegt sich der Mauszeiger zu einem anderen Steuerelement, das ebenfalls einen Quickinfo-Text unterstützt, dauert es zwischen den beiden Anzeigen die unter ReshowDelay angegebene Zeitdauer, bis das nächste Hilfstextfenster geöffnet wird.
Alle drei Eigenschaften können nur dann individuell eingestellt werden, wenn AutomaticDelay keinen Wert aufweist. Wie im Falle eines von 0 abweichenden Wertes die anderen Eigenschaften beeinflusst werden, entnehmen Sie der folgenden Tabelle.
Tabelle 16.13 Eigenschaftswerte, wenn »AutomaticDelay« einen Zeitwert enthält
| Eigenschaft
|
Wert
|
| AutomaticDelay
|
500 Millisekunden
|
| InitialDelay
|
= AutomaticDelay
|
| ReshowDelay
|
= AutomaticDelay/5
|
| AutoPopDelay
|
= 10 x AutomaticDelay
|
16.10.3 Weitere Eigenschaften
 
Zwei weitere Eigenschaften wirken sich auf die Anzeige des Quickinfo-Textes aus. Mit Setzen von Active=false wird die Anzeige aller QuickInfo-Texte, die mit diesem Steuerelement verbunden sind, unterbunden. Ist ShowAlways=true festgelegt, wird auch dann der Info-Text angezeigt, wenn das übergeordnete Formular des Steuerelements aktuell nicht aktiv ist. |